package com.miyu.system.pojo.system;

import com.miyu.system.utils.jpacomment.annotation.ColumnComment;
import com.miyu.system.utils.jpacomment.annotation.TableComment;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import jakarta.persistence.*;
import lombok.Data;
import org.hibernate.annotations.GenericGenerator;

import java.io.Serializable;
import java.sql.Timestamp;

/**
 *  系统队列设置;
 */
@ApiModel(value = "天气城市字典",description = "")
@Data
@Entity
@TableComment("mq消息")
@Table(name="sys_mq_config")
public class SysMqConfig implements Serializable,Cloneable {
    /**
     * 交换机主键
     */
    @Id
    @GenericGenerator(name = "jpa-uuid", strategy = "uuid")
    @GeneratedValue(generator = "jpa-uuid")
    @ColumnComment("交换机主键")
    @ApiModelProperty(value = "交换机主键", notes = "")
    @Column(name = "mq_id", nullable = false, length = 32)
    private String mqId;
    /**
     * 交换机类型;(0:DIRECT直连交换机; 1:TOPIC主题交换机; 2:FANOUT扇形交换机; 3:HEADERS头交换机)
     */
    @ApiModelProperty(value = "交换机类型", notes = "(0:DIRECT直连交换机; 1:TOPIC主题交换机; 2:FANOUT扇形交换机; 3:HEADERS头交换机)")
    @ColumnComment("交换机类型")
    @Column(name = "exchange_type", nullable = true, length = 90)
    private String exchangeType;
    /**
     * 交换机名称
     */
    @ApiModelProperty(value = "交换机名称", notes = "")
    @ColumnComment("交换机名称")
    @Column(name = "exchange_name", nullable = true, length = 90)
    private String exchangeName;
    /**
     * 队列名称
     */
    @ApiModelProperty(value = "队列名称", notes = "")
    @ColumnComment("队列名称")
    @Column(name = "queue_name", nullable = true, length = 90)
    private String queueName;
    /**
     * 绑定关系
     */
    @ApiModelProperty(value = "绑定关系", notes = "")
    @ColumnComment("绑定关系")
    @Column(name = "binding", nullable = true, length = 90)
    private String binding;
    /**
     * 是否死信队列;(0:是;1:否)
     */
    @ApiModelProperty(value = "是否死信队列", notes = "(0:是;1:否)")
    @ColumnComment("是否死信队列")
    @Column(name = "delay_type", nullable = true, length = 1)
    private String delayType = "0";
    /**
     * 乐观锁
     */
    @ApiModelProperty(value = "乐观锁", notes = "")
    @ColumnComment("乐观锁")
    @Column(name = "version", nullable = true, length = 255)
    private String version;
    /**
     * 删除标志;（0:存在; 1:删除）
     */
    @ApiModelProperty(value = "删除标志", notes = "（0:存在; 1:删除）")
    @ColumnComment("删除标志")
    @Column(name = "del_flag", nullable = true, length = 1)
    private String delFlag = "0";
    /**
     * 记录状态
     */
    @ApiModelProperty(value = "记录状态", notes = "")
    @ColumnComment("记录状态")
    @Column(name = "status", nullable = true, length = 1)
    private String status = "0";
    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人", notes = "")
    @ColumnComment("创建人")
    @Column(name = "create_by", nullable = true, length = 90)
    private String createBy;
    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间", notes = "")
    @ColumnComment("创建时间")
    @Column(name = "create_time", nullable = true)
    private Timestamp createTime;
    /**
     * 修改人
     */
    @ApiModelProperty(value = "修改人", notes = "")
    @ColumnComment("修改人")
    @Column(name = "update_by", nullable = true, length = 90)
    private String updateBy;
    /**
     * 修改时间
     */
    @ApiModelProperty(value = "修改时间", notes = "")
    @ColumnComment("修改时间")
    @Column(name = "update_time", nullable = true, columnDefinition = "timestamp default current_timestamp")
    private Timestamp updateTime;
    /**
     * 备注
     */
    @ApiModelProperty(value = "备注", notes = "")
    @ColumnComment("备注")
    @Column(name = "remark", nullable = true, length = 200)
    private String remark;
}